from django.db import models


class WeeklyTodo(models.Model):
    """周会待办事项模型"""
    
    CLOSURE_CHOICES = [
        ('非闭环', '非闭环'),
        ('已闭环', '已闭环'),
    ]
    
    # 责任人
    responsible_person = models.CharField(
        max_length=200,
        verbose_name='责任人',
        help_text='负责该事项的人员'
    )
    
    # 事项内容
    task = models.TextField(
        verbose_name='事项内容',
        help_text='待办事项的具体描述'
    )
    
    # 计划完成时间
    planned_completion_time = models.CharField(
        max_length=100,
        blank=True,
        null=True,
        verbose_name='计划完成时间',
        help_text='预计完成该事项的时间'
    )
    
    # 延期完成时间
    delayed_completion_time = models.CharField(
        max_length=100,
        blank=True,
        null=True,
        verbose_name='延期完成时间',
        help_text='如果延期，实际完成时间'
    )
    
    # 闭环状态
    closure = models.CharField(
        max_length=10,
        choices=CLOSURE_CHOICES,
        default='非闭环',
        verbose_name='闭环状态',
        help_text='事项是否已闭环完成'
    )
    
    # 备注
    remarks = models.TextField(
        blank=True,
        null=True,
        verbose_name='备注',
        help_text='其他相关说明'
    )
    
    # 创建时间
    created_at = models.DateTimeField(
        auto_now_add=True,
        verbose_name='创建时间'
    )
    
    # 更新时间
    updated_at = models.DateTimeField(
        auto_now=True,
        verbose_name='更新时间'
    )
    
    class Meta:
        verbose_name = '周会待办事项'
        verbose_name_plural = '周会待办事项'
        ordering = ['-created_at']
    
    def __str__(self):
        return f'{self.responsible_person} - {self.task[:50]}'
